
#include "src/TabProjectile.h"
#include "src/Projectile.h"

#include <stdlib.h>

void initialiserTabProjectile(Tab_Projectile *T)
{

   T->Projectile = malloc(1*sizeof(Projectile));
   T->nb_Element=0;
    T->taille_Max=1;
}

void ajouterElementProjectile(Tab_Projectile *T, Perso *Pers)
{
     T->Projectile[T->nb_Element]=initProjectile(Pers);

    T->nb_Element= T->nb_Element +1;

    if( T->nb_Element > 0.5*T->taille_Max )
    {
        Projectile** Proj;
        Proj=T->Projectile;
        T->taille_Max=T->taille_Max*2;
        T->Projectile= malloc(T->taille_Max*sizeof(Projectile));
        int compteur;
        for(compteur=0;compteur<T->nb_Element; compteur++)
        {
            T->Projectile[compteur]=Proj[compteur];

        }
        free(Proj);
    }

}

void suprimerElementProjectile (Tab_Projectile* T,int a)
{

        int b;
         for(b=a; b<T->nb_Element-1;b++)
    {
        T->Projectile[b]=T->Projectile[b+1];
    }



    if(T->nb_Element<0.3*T->taille_Max)
    {

        Projectile** Proj;
        Proj=T->Projectile;
        T->taille_Max=T->taille_Max*0.5;
        T->Projectile= malloc(T->taille_Max*sizeof(Projectile));
        int compteur;
        for(compteur=0;compteur<T->nb_Element; compteur++)
        {
            T->Projectile[compteur]=Proj[compteur];

        }
        free(Proj);
    }
    T->nb_Element= T->nb_Element -1;
    }



void detruireTabProjectile (Tab_Projectile* T)
{
    T->taille_Max =0;
    T->nb_Element=0;
    free(T->Projectile);

}

Projectile * getElementTabProjectile (Tab_Projectile *T,int N)
{
    return T->Projectile[N];
}
